//
// Created by fho4565 on 2024/6/18.
//

#ifndef MCDPGENERATOR_PACKMCMETA_H
#define MCDPGENERATOR_PACKMCMETA_H

#include <QString>
#include <cstddef>
#include <qlist.h>

class PackMcmeta {
    unsigned char* pack_format = new unsigned char();
    QPair<unsigned char, unsigned char>* supported_formats = new QPair<unsigned char, unsigned char>();
    QString* description = new QString();
    QList<QPair<QString,QString>>* filter_blocks = new QList<QPair<QString,QString>>();
    QStringList* features_enabled = new QStringList();
    QList<QPair<QPair<unsigned char, unsigned char>,QString>>* overlays_entries = new QList<QPair<QPair<unsigned char, unsigned char>,QString>>();
public:
    QString getSuffixName();
    explicit PackMcmeta(unsigned char *packFormat);

    PackMcmeta(unsigned char *packFormat, QPair<unsigned char, unsigned char> *supportedFormats, QString *description,
               QList<QPair<QString, QString>> *filterBlocks, QStringList *featuresEnabled,
               QList<QPair<QPair<unsigned char, unsigned char>, QString>> *overlaysEntries);

    explicit PackMcmeta(unsigned char *packFormat, QString *description);
};


#endif //MCDPGENERATOR_PACKMCMETA_H
